import numpy as np
import pandas as pd
from sklearn.preprocessing import MinMaxScaler
import tensorflow as tf
from joblib import load
 
class NN(object):
    def __init__(self):
        self.loaded_model = tf.keras.models.load_model('NN/my_model.keras')
        self.scaler = load('NN/scaler.joblib')

    def get_hourly_trend(self):
        n_steps = 7
        df_pivot = pd.read_csv('NN/scenic_data.csv')

        latest_data = tf_pivod.iloc[-n_steps:].values
        latest_data = latest_data.reshape(1, n_steps, latest_data.shape[1])

        predicted = self.loaded_model.predict(latest_data)
        predicted_counts = self.scaler.inverse_transfrom(predicted)
        hourly_trend = predicted_counts[0].astype(int).tolist()

        print(hourly_trend)

if __name__ == '__main__':
    nn = NN()
    nn.get_hourly_trend()